package ballena.activities;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.StreamCorruptedException;

import android.util.Log;
import android.widget.Toast;
import ballena.utiles.Global;
import ballena.utiles.Servlet;

public class Localizacion extends Thread {

	private boolean ejecutando;
	private int idAmigo;
	private Integer[] posiciones;
	private String estado;

	public Localizacion(int idAmigo) {
		this.idAmigo = idAmigo;
		estado = Global.POS_FALLO;
	}

	@Override
	public void run() {
		while (ejecutando) {

			posiciones = obtenerLocalizaciones();
			try {
				Thread.sleep(5);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		Log.v("hiloPos", "para");
	}

	public boolean estaEjecutando() {
		return ejecutando;
	}

	public void ejecutar(boolean b) {
		ejecutando = b;
	}

	public Integer[] getPosiciones() {
		return posiciones;
	}

	public String obtenerEstado() {
		return estado;
	}

	private Integer[] obtenerLocalizaciones() {
		Integer[] posiciones = new Integer[4];
		String param[] = { "accion=" + Global.OBTENER_POS,
				"idAmigo=" + idAmigo, "idUsuario=" + Global.usuario.getId() };
		Servlet s = new Servlet(Global.SERVLET, param);
		s.conectar();

		ObjectInputStream in;
		try {
			in = new ObjectInputStream(s.getInputStream());
			String estado = (String) in.readObject();
			if (estado.equals(Global.POS_EXITO)) {
				posiciones = (Integer[]) in.readObject();
			}
		} catch (StreamCorruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			s.desconectar();
		}
		return posiciones;
	}
}
